package com.skivingcloud.report.service;

import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.skivingcloud.report.entity.ReportDataSet;
import com.skivingcloud.common.utils.PageParameter;

import java.io.Serializable;

/**
 * 数据集管理 服务层。
 *
 * @author skivingcloud
 * @since 2024-09-12
 */
public interface ReportDataSetService extends IService<ReportDataSet> {
    /**
     * 分页查询数据集管理
     *
     * @param parameter 查询参数
     * @return 分页查询结果
     */
    Page<ReportDataSet> queryByPage(PageParameter<ReportDataSet> parameter);

    /**
     * 新增包含参数和转换
     * @param reportDataSet 参数
     * @return 结果
     */
    Boolean saveDataSet(ReportDataSet reportDataSet);

    /**
     * 修改包含参数和转换
     * @param reportDataSet 参数
     * @return 结果
     */
    Boolean updateDataSetById(ReportDataSet reportDataSet);

    /**
     * 删除包含参数和转换
     * @param id id
     * @return 结果
     */
    Boolean removeDataSetById(Serializable id);

    /**
     * 根据数据集管理主键获取详细信息
     * @param id 主键
     * @return 结果
     */
    ReportDataSet getInfo(Serializable id);
}
